Targeted advertisements based on analysis of image information from a wearable camera

ABSTRACT

A system provides advertisements to users of a wearable camera system. In one implementation, the system includes a memory storing executable instructions and at least one processing device programmed to execute the instruction. The instructions may include instructions to receive, from a wearable camera system, data related to at least on characteristic identified in image data captured by the wearable camera system from an environment, select, based on the at least one characteristic, an advertisement, and transmit the advertisement to a device associated with a user the wearable camera system.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of priority of U.S. Provisional Patent Application No. 62/027,936, filed on Jul. 23, 2014, and U.S. Provisional Patent Application No. 62/027,957, filed on Jul. 23, 2014, all of which are incorporated herein by reference in their entirety.

BACKGROUND

I. Technical Field

This disclosure generally relates to devices and methods for capturing and processing images from an environment of a user. More particularly, this disclosure relates to devices and methods for providing advertisements related to captured images.

II. Background Information

Today, technological advancements make it possible for wearable devices to automatically capture images and store information that is associated with the captured images. Certain devices have been used to digitally record aspects and personal experiences of one's life in an exercise typically called “lifelogging.” Some individuals log their life so they can retrieve moments from past activities, for example, social events, trips, etc. Lifelogging may also have significant benefits in other fields (e.g., business, fitness and healthcare, and social research). Lifelogging devices, while useful for tracking daily activities, may be improved with capability to enhance one's interaction in his environment with feedback and other advanced functionality based on the analysis of captured image data.

Even though users can capture images with their smartphones and some smartphone applications can process the captured images, smartphones may not be the best platform for serving as lifelogging apparatuses in view of their size and design. Lifelogging apparatuses should be small and light, so they can be easily worn. Moreover, with improvements in image capture devices, including wearable apparatuses, additional functionality may be provided to assist users in navigating in and around an environment. Therefore, there is a need for apparatuses and methods for automatically capturing and processing images in a manner that provides useful information to users of the apparatuses.

SUMMARY

Embodiments consistent with the present disclosure provide an apparatus and methods for automatically capturing and processing images from an environment of a user.

In accordance with a disclosed embodiment, a system for providing advertisements may include a memory storing executable instructions and at least one processing device programmed to execute the instructions. The at least one processing device may execute the instructions to receive, from a wearable camera system, data related to at least one characteristic identified in image data captured by the wearable camera system from an environment, select, based on the at least one characteristic, an advertisement, and transmit the advertisement to a device associated with a user of the wearable camera system.

In accordance with another disclosed embodiment, a system for providing advertisements may include a memory storing executable instructions and at least one processing device programmed to execute the instructions. The at least one processing device may execute the instructions to receive, from a wearable camera system, image data captured by the wearable camera system from an environment, analyze the image data to identify at least one characteristic of the environment, select, based on the at least one characteristic, an advertisement; and transmit the advertisement to a device associated with a user of the wearable camera system.

In accordance with still another disclosed embodiment, a system for providing advertisements may include a memory storing executable instructions and at least one processing device programmed to execute the instructions. The at least one processing device may execute the instructions to receive, from a wearable camera system, information indicative of at least one characteristic identified in image data captured by the wearable camera system from an environment, transmit at least a portion of the information indicative of the at least one characteristic to a plurality of advertisers, receive, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system, select an advertisement based on one of bids, and send the advertisement to a device associated with a user of the wearable camera system.

In accordance with yet another disclosed embodiment, a system for providing advertisements may include a memory storing executable instructions and at least one processing device programmed to execute the instructions. The at least one processing device may execute the instructions to receive, from a wearable camera system, image data captured by the wearable camera system from an environment, analyze the image data to identify at least one characteristic, transmit information indicative of the at least one characteristic to a plurality of advertisers, receive, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system, select an advertisement based on one of bids, and send the advertisement to a device associated with a user of the wearable camera system.

In accordance with another disclosed embodiment, a software product stored on a non-transitory computer readable medium may comprise data and computer readable implementable instructions for carrying out executable steps. Executable steps may include receiving, from a wearable camera system, data related to at least one characteristic identified in image data captured by the wearable camera system from an environment, selecting, based on the at least one characteristic, an advertisement, and transmitting the advertisement to a device associated with a user of the wearable camera system.

In accordance with another disclosed embodiment, a software product stored on a non-transitory computer readable medium may comprise data and computer readable implementable instructions for carrying out executable steps. The steps may include receiving, from a wearable camera system, information indicative of at least one characteristic identified in image data captured by the wearable camera system from an environment, receiving, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system based on at least a portion of the information indicative of the at least one characteristic, selecting an advertisement based on at least one of bids, and sending the advertisement to a device associated with a user of the wearable camera system.

Consistent with other disclosed embodiments, non-transitory computer-readable storage media may store program instructions, which are executed by at least one processor and perform any of the methods described herein.

The foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments. In the drawings:

FIG. 1A is a schematic illustration of an example of a user wearing a wearable apparatus according to a disclosed embodiment.

FIG. 1B is a schematic illustration of an example of the user wearing a wearable apparatus according to a disclosed embodiment.

FIG. 1C is a schematic illustration of an example of the user wearing a wearable apparatus according to a disclosed embodiment.

FIG. 1D is a schematic illustration of an example of the user wearing a wearable apparatus according to a disclosed embodiment.

FIG. 2 is a schematic illustration of an example system consistent with the disclosed embodiments.

FIG. 3A is a schematic illustration of an example of the wearable apparatus shown in FIG. 1A.

FIG. 3B is an exploded view of the example of the wearable apparatus shown in FIG. 3A.

FIG. 4A is a schematic illustration of an example of the wearable apparatus shown in FIG. 1B from a first viewpoint.

FIG. 4B is a schematic illustration of the example of the wearable apparatus shown in FIG. 1B from a second viewpoint.

FIG. 5A is a block diagram illustrating an example of the components of a wearable apparatus according to a first embodiment.

FIG. 5B is a block diagram illustrating an example of the components of a wearable apparatus according to a second embodiment.

FIG. 5C is a block diagram illustrating an example of the components of a wearable apparatus according to a third embodiment.

FIG. 6 is a block diagram illustrating an example of a memory storing modules providing instructions for selecting advertisements, consistent with disclosed embodiments.

FIG. 7 illustrates an exemplary flowchart of a method for providing advertisements, consistent with a disclosed embodiment.

FIG. 8 illustrates an exemplary embodiment of a system consistent with the present disclosure.

FIG. 9 illustrates exemplary characteristics of a user environment that may be identified from image data, consistent with a disclosed embodiment.

FIG. 10 illustrates an exemplary flowchart of a method for providing advertisements, consistent with a disclosed embodiment.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several illustrative embodiments are described herein, modifications, adaptations and other implementations are possible. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the illustrative methods described herein may be modified by substituting, reordering, removing, or adding steps to the disclosed methods. Accordingly, the following detailed description is not limited to the disclosed embodiments and examples. Instead, the proper scope is defined by the appended claims.

FIG. 1A illustrates a user 100 wearing an apparatus 110 that is physically connected (or integral) to glasses 130, consistent with the disclosed embodiments. Glasses 130 may be prescription glasses, magnifying glasses, non-prescription glasses, safety glasses, sunglasses, etc. Additionally, in some embodiments, glasses 130 may include parts of a frame and earpieces, nosepieces, etc., and one or no lenses. Thus, in some embodiments, glasses 130 may function primarily to support apparatus 110, and/or an augmented reality display device or other optical display device. In some embodiments, apparatus 110 may include an image sensor (not shown in FIG. 1A) for capturing real-time image data of the field-of-view of user 100. The term “image data” includes any form of data retrieved from optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums. The image data may include video clips and/or photographs.

In some embodiments, apparatus 110 may communicate wirelessly or via a wire with a computing device 120. In some embodiments, computing device 120 may include, for example, a smartphone, or a tablet, or a dedicated processing unit, which may be portable (e.g., can be carried in a pocket of user 100). Although shown in FIG. 1A as an external device, in some embodiments, computing device 120 may be provided as part of wearable apparatus 110 or glasses 130, whether integral thereto or mounted thereon. In some embodiments, computing device 120 may be included in an augmented reality display device or optical head mounted display provided integrally or mounted to glasses 130. In other embodiments, computing device 120 may be provided as part of another wearable or portable apparatus of user 100 including a wrist-strap, a multifunctional watch, a button, a clip-on, etc. And in other embodiments, computing device 120 may be provided as part of another system, such as an on-board automobile computing or navigation system. A person skilled in the art can appreciate that different types of computing devices and arrangements of devices may implement the functionality of the disclosed embodiments. Accordingly, in other implementations, computing device 120 may include a Personal Computer (PC), laptop, an Internet server, etc.

FIG. 1B illustrates user 100 wearing apparatus 110 that is physically connected to a necklace 140, consistent with a disclosed embodiment. Such a configuration of apparatus 110 may be suitable for users that do not wear glasses some or all of the time. In this embodiment, user 100 can easily wear apparatus 110, and take it off.

FIG. 1C illustrates user 100 wearing apparatus 110 that is physically connected to a belt 150, consistent with a disclosed embodiment. Such a configuration of apparatus 110 may be designed as a belt buckle. Alternatively, apparatus 110 may include a clip for attaching to various clothing articles, such as belt 150, or a vest, a pocket, a collar, a cap or hat or other portion of a clothing article.

FIG. 1D illustrates user 100 wearing apparatus 110 that is physically connected to a wrist strap 160, consistent with a disclosed embodiment. Although the aiming direction of apparatus 110, according to this embodiment, may not match the field-of-view of user 100, apparatus 110 may include the ability to identify a hand-related trigger based on the tracked eye movement of a user 100 indicating that user 100 is looking in the direction of the wrist strap 160. Wrist strap 160 may also include an accelerometer, a gyroscope, or other sensor for determining movement or orientation of a user's 100 hand for identifying a hand-related trigger.

FIG. 2 is a schematic illustration of an exemplary system 200 including a wearable apparatus 110, worn by user 100, and an optional computing device 120 and/or a server 250 capable of communicating with apparatus 110 via a network 240, consistent with disclosed embodiments. In some embodiments, apparatus 110 may capture and analyze image data, identify a hand-related trigger present in the image data, and perform an action and/or provide feedback to a user 100, based at least in part on the identification of the hand-related trigger. In some embodiments, optional computing device 120 and/or server 250 may provide additional functionality to enhance interactions of user 100 with his or her environment, as described in greater detail below.

According to the disclosed embodiments, apparatus 110 may include an image sensor system 220 for capturing real-time image data of the field-of-view of user 100. In some embodiments, apparatus 110 may also include a processing unit 210 for controlling and performing the disclosed functionality of apparatus 110, such as to control the capture of image data, analyze the image data, and perform an action and/or output a feedback based on a hand-related trigger identified in the image data. According to the disclosed embodiments, a hand-related trigger may include a gesture performed by user 100 involving a portion of a hand of user 100. Further, consistent with some embodiments, a hand-related trigger may include a wrist-related trigger. Additionally, in some embodiments, apparatus 110 may include a feedback outputting unit 230 for producing an output of information to user 100,

As discussed above, apparatus 110 may include an image sensor 220 for capturing image data. The term “image sensor” refers to a device capable of detecting and converting optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums into electrical signals. The electrical signals may be used to form an image or a video stream (i.e. image data) based on the detected signal. The term “image data” includes any form of data retrieved from optical signals in the near-infrared, infrared, visible, and ultraviolet spectrums. Examples of image sensors may include semiconductor charge-coupled devices (CCD), active pixel sensors in complementary metal-oxide-semiconductor (CMOS), or N-type metal-oxide-semiconductor (NMOS, Live MOS). In some cases, image sensor 220 may be part of a camera included in apparatus 110.

Apparatus 110 may also include a processor 210 for controlling image sensor 220 to capture image data and for analyzing the image data according to the disclosed embodiments. As discussed in further detail below with respect to FIG. 5A, processor 210 may include a “processing device” for performing logic operations on one or more inputs of image data and other data according to stored or accessible software instructions providing desired functionality. In some embodiments, processor 210 may also control feedback outputting unit 230 to provide feedback to user 100 including information based on the analyzed image data and the stored software instructions. As the term is used herein, a “processing device” may access memory where executable instructions are stored or, in some embodiments, a “processing device” itself may include executable instructions (e.g., stored in memory included in the processing device).

In some embodiments, the information or feedback information provided to user 100 may include time information. The time information may include any information related to a current time of day and, as described further below, may be presented in any sensory perceptive manner. In some embodiments, time information may include a current time of day in a preconfigured format (e.g., 2:30 pm or 14:30). Time information may include the time in the user's current time zone (e.g., based on a determined location of user 100), as well as an indication of the time zone and/or a dine of day in another desired location. In some embodiments, time information may include a number of hours or minutes relative to one or more predetermined times of day. For example, in some embodiments, time information may include an indication that three hours and fifteen minutes remain until a particular hour (e.g., until 6:00 pm), or some other predetermined time. Time information may also include a duration of time passed since the beginning of a particular activity, such as the start of a meeting or the start of a jog, or any other activity. In some embodiments, the activity may be determined based on analyzed image data. In other embodiments, time information may also include additional information related to a current time and one or more other routine, periodic, or scheduled events. For example, time information may include an indication of the number of minutes remaining until the next scheduled event, as may be determined from a calendar function or other information retrieved from computing device 120 or server 250, as discussed in further detail below.

Feedback outputting unit 230 may include one or more feedback systems for providing the output of information to user 100. In the disclosed embodiments, the audible or visual feedback may be provided via any type of connected audible or visual system or both. Feedback of information according to the disclosed embodiments may include audible feedback to user 100 (e.g., using a Bluetooth™ or other wired or wirelessly connected speaker, or a bone conduction headphone). Feedback outputting unit 230 of some embodiments may additionally or alternatively produce a visible output of information to user 100, for example, as part of an augmented reality display projected onto a lens of glasses 130 or provided via a separate heads up display in communication with apparatus 110, such as a display 260 provided as part of computing device 120, which may include an onboard automobile heads up display, an augmented reality device, a virtual reality device, a smartphone, PC, table, etc.

The term “computing device” refers to a device including a processing unit and having computing capabilities. Some examples of computing device 120 include a PC, laptop, tablet, or other computing systems such as an on-board computing system of an automobile, for example, each configured to communicate with apparatus 110 or server 250 over network 240. Another example of computing device 120 includes a smartphone having a display 260. In some embodiments, computing device 120 may be a computing system configured particularly for apparatus 110, and may be provided integral to apparatus 110 or tethered thereto. Apparatus 110 can also connect to computing device 120 over network 240 via any known wireless standard (e.g., Wi-Fi, Bluetooth®, etc.), as well as near-filed capacitive coupling, and other short range wireless techniques, or via a wired connection. In an embodiment in which computing device 120 is a smartphone, computing device 120 may have a dedicated application installed therein. For example, user 100 may view on display 260 data (e.g., images, video clips, extracted information, feedback information, etc.) that originate from or are triggered by apparatus 110. In addition, user 100 may select part of the data for storage in server 250.

Network 240 may be a shared, public, or private network, may encompass a wide area or local area, and may be implemented through any suitable combination of wired and/or wireless communication networks. Network 240 may further comprise an intranet or the Internet. In some embodiments, network 240 may include short range or near-field wireless communication systems for enabling communication between apparatus 110 and computing device 120 provided in close proximity to each other, such as on or near a user's person, for example. Apparatus 110 may establish a connection to network 240 autonomously, for example, using a wireless module (e.g., Wi-Fi, cellular). In some embodiments, apparatus 110 may use the wireless module when being connected to an external power source, to prolong battery life. Further, communication between apparatus 110 and server 250 may be accomplished through any suitable communication channels, such as, for example, a telephone network, an extranet, an intranet, the Internet, satellite communications, off-line communications, wireless communications, transponder communications, a local area network (LAN), a wide area network (WAN), and a virtual private network (VPN).

As shown in FIG. 2, apparatus 110 may transfer or receive data to/from server 250 via network 240. In the disclosed embodiments, the data being received from server 250 and/or computing device 120 may include numerous different types of information based on the analyzed image data, including information related to a commercial product, or a person's identity, an identified landmark, and any other information capable of being stored in or accessed by server 250. In some embodiments, data may be received and transferred via computing device 120. Server 250 and/or computing device 120 may retrieve information from different data sources (e.g., a user specific database or a user's social network account or other account, the Internet, and other managed or accessible databases) and provide information to apparatus 110 related to the analyzed image data and a recognized trigger according to the disclosed embodiments. In some embodiments, calendar-related information retrieved from the different data sources may be analyzed to provide certain time information or a time-based context for providing certain information based on the analyzed image data.

An example of wearable apparatus 110 incorporated with glasses 130 according to some embodiments (as discussed in connection with FIG. 1A) is shown in greater detail in FIG. 3A. In some embodiments, apparatus 110 may be associated with a structure (not shown in FIG. 3A) that enables easy detaching and reattaching of apparatus 110 to glasses 130. In some embodiments, when apparatus 110 attaches to glasses 130, image sensor 220 acquires a set aiming direction without the need for directional calibration. The set aiming direction of image sensor 220 may substantially coincide with the field-of-view of user 100. For example, a camera associated with image sensor 220 may be installed within apparatus 110 in a predetermined angle in a position facing slightly downwards (e.g., 5-15 degrees from the horizon). Accordingly, the set aiming direction of image sensor 220 may substantially match the field-of-view of user 100.

FIG. 3B is an exploded view of the components of the embodiment discussed regarding FIG. 3A, Attaching apparatus 110 to glasses 130 may take place in the following way. Initially, a support 310 may be mounted on glasses 130 using a screw 320, in the side of support 310. Then, apparatus 110 may be clipped on support 310 such that it is aligned with the field-of-view of user 100. The term “support” includes any device or structure that enables detaching and reattaching of a device including a camera to a pair of glasses or to another object (e.g., a helmet). Support 310 may be made from plastic (e.g., polycarbonate), metal (e.g., aluminum), or a combination of plastic and metal (e.g., carbon fiber graphite). Support 310 may be mounted on any kind of glasses (e.g., eyeglasses, sunglasses, 3D glasses, safety glasses, etc.) using screws, bolts, snaps, or any fastening means used in the art.

In some embodiments, support 310 may include a quick release mechanism for disengaging and reengaging apparatus 110. For example, support 310 and apparatus 110 may include magnetic elements. As an alternative example, support 310 may include a male latch member and apparatus 110 may include a female receptacle. In other embodiments, support 310 can be an integral part of a pair of glasses, or sold separately and installed by an optometrist. For example, support 310 may be configured for mounting on the arms of glasses 130 near the frame front, but before the hinge. Alternatively, support 310 may be configured for mounting on the bridge of glasses 130.

In some embodiments, apparatus 110 may be provided as part of a glasses frame 130, with or without lenses. Additionally, in some embodiments, apparatus 110 may be configured to provide an augmented reality display projected onto a lens of glasses 130 (if provided), or alternatively, may include a display for projecting time information, for example, according to the disclosed embodiments. Apparatus 110 may include the additional display or alternatively, may be in communication with a separately provided display system that may or may not be attached to glasses 130.

In some embodiments, apparatus 110 may be implemented in a form other than wearable glasses, as described above with respect to FIGS. 1B-1D, for example. FIG. 4A is a schematic illustration of an example of an additional embodiment of apparatus 110 from a first viewpoint. The viewpoint shown in FIG. 4A is from the front of apparatus 110. Apparatus 110 includes an image sensor 220, a clip (not shown), a function button (not shown) and a hanging ring 410 for attaching apparatus 110 to, for example, necklace 140, as shown in FIG. 1B. When apparatus 110 hangs on necklace 140, the aiming direction of image sensor 220 may not fully coincide with the field-of-view of user 100, but the aiming direction would still correlate with the field-of-view of user 100.

FIG. 4B is a schematic illustration of the example of a second embodiment of apparatus 110, from a second viewpoint. The viewpoint shown in FIG. 4B is from a side orientation of apparatus 110. In addition to hanging ring 410, as shown in FIG. 4B, apparatus 110 may further include a clip 420. User 100 can use clip 420 to attach apparatus 110 to a shirt or belt 150, as illustrated in FIG. 1C. Clip 420 may provide an easy mechanism for disengaging and reengaging apparatus 110 from different articles of clothing. In other embodiments, apparatus 110 may include a female receptacle for connecting with a male latch of a car mount or universal stand.

In some embodiments, apparatus 110 includes a function button 430 for enabling user 100 to provide input to apparatus 110. Function button 430 may accept different types of tactile input (e.g., a tap, a click, a double-click, a long press, a right-to-left slide, a left-to-right slide). In some embodiments, each type of input may be associated with a different action. For example, a tap may be associated with the function of taking a picture, while a right-to-left slide may be associated with the function of recording a video.

The example embodiments discussed above with respect to FIGS. 3A, 3B, 4A, and 4B are not limiting. In some embodiments, apparatus 110 may be implemented in any suitable configuration for performing the disclosed methods. For example, referring back to FIG. 2, the disclosed embodiments may implement an apparatus 110 according to any configuration including an image sensor 220 and a processor unit 210 to perform image analysis and for communicating with a feedback unit 230.

FIG. 5A is a block diagram illustrating the components of apparatus 110 according to an example embodiment. As shown in FIG. 5A, and as similarly discussed above, apparatus 110 includes an image sensor 220, a memory 550, a processor 210, a feedback outputting unit 230, a wireless transceiver 530, and a mobile power source 520. In other embodiments, apparatus 110 may also include buttons, other sensors such as a microphone, and inertial measurements devices such as accelerometers, gyroscopes, magnetometers, temperature sensors, color sensors, light sensors, etc. Apparatus 110 may further include a data port 570 and a power connection 510 with suitable interfaces for connecting with an external power source or an external device (not shown).

Processor 210, depicted in FIG. 5A, may include any suitable processing device. The term “processing device” includes any physical device having an electric circuit that performs a logic operation on input or inputs. For example, processing device may include one or more integrated circuits, microchips, microcontrollers, microprocessors, all or part of a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), field-programmable gate array (FPGA), or other circuits suitable for executing instructions or performing logic operations. The instructions executed by the processing device may, for example, be pre-loaded into a memory integrated with or embedded into the processing device or may be stored in a separate memory (e.g., memory 550). Memory 550 may comprise a Random Access Memory (RAM), a Read-Only Memory (ROM), a hard disk, an optical disk, a magnetic medium, a flash memory, other permanent, fixed, or volatile memory, or any other mechanism capable of storing instructions.

Although, in the embodiment illustrated in FIG. 5A, apparatus 110 includes one processing device (e.g., processor 210), apparatus 110 may include more than one processing device. Each processing device may have a similar construction, or the processing devices may be of differing constructions that are electrically connected or disconnected from each other. For example, the processing devices may be separate circuits or integrated in a single circuit. When more than one processing device is used, the processing devices may be configured to operate independently or collaboratively. The processing devices may be coupled electrically, magnetically, optically, acoustically, mechanically or by other means that permit them to interact.

In some embodiments, processor 210 may process a plurality of images captured from the environment of user 100 to determine different parameters related to capturing subsequent images. For example, processor 210 can determine, based on information derived from captured image data, a value for at least one of the following: an image resolution, a compression ratio, a cropping parameter, frame rate, a focus point, an exposure time, an aperture size, and a light sensitivity. The determined value may be used in capturing at least one subsequent image. Additionally, processor 210 can detect images including at least one hand-related trigger in the environment of the user and perform an action and/or provide an output of information to a user via feedback outputting unit 230.

In another embodiment, processor 210 can change the aiming direction of image sensor 220. For example, when apparatus 110 is attached with clip 420, the aiming direction of image sensor 220 may not coincide with the field-of-view of user 100. Processor 210 may recognize certain situations from the analyzed image data and adjust the aiming direction of image sensor 220 to capture relevant image data. For example, in one embodiment, processor 210 may detect an interaction with another individual and sense that the individual is not fully in view, because image sensor 220 is tilted down. Responsive thereto, processor 210 may adjust the aiming direction of image sensor 220 to capture image data of the individual. Other scenarios are also contemplated where processor 210 may recognize the need to adjust an aiming direction of image sensor 220.

In some embodiments, processor 210 may communicate data to feedback-outputting unit 230, which may include any device configured to provide information to a user 100. Feedback outputting unit 230 may be provided as part of apparatus 110 (as shown) or may be provided external to apparatus 110 and communicatively coupled thereto. Feedback-outputting unit 230 may be configured to output visual or nonvisual feedback based on signals received from processor 210, such as when processor 210 recognizes a hand-related trigger in the analyzed image data.

The term “feedback” refers to any output or information provided in response to processing at least one image in an environment. In some embodiments, as similarly described above, feedback may include an audible or visible indication of time information, detected text or numerals, the value of currency, a branded product, a person's identity, the identity of a landmark or other environmental situation or condition including the street names at an intersection or the color of a traffic light, etc., as well as other information associated with each of these. For example, in some embodiments, feedback may include additional information regarding the amount of currency still needed to complete a transaction, information regarding the identified person, historical information or times and prices of admission etc. of a detected landmark etc. In some embodiments, feedback may include an audible tone, a tactile response, and/or information previously recorded by user 100. Feedback-outputting unit 230 may comprise appropriate components for outputting acoustical and tactile feedback. For example, feedback-outputting unit 230 may comprise audio headphones, a hearing aid type device, a speaker, a bone conduction headphone, interfaces that provide tactile cues, vibrotactile stimulators, etc. In some embodiments, processor 210 may communicate signals with an external feedback outputting unit 230 via a wireless transceiver 530, a wired connection, or some other communication interface. In some embodiments, feedback outputting unit 230 may also include any suitable display device for visually displaying information to user 100.

As shown in FIG. 5A, apparatus 110 includes memory 550. Memory 550 may include one or more sets of instructions accessible to processor 210 to perform the disclosed methods, including instructions for recognizing a hand-related trigger in the image data. In some embodiments memory 550 may store image data (e.g., images, videos) captured from the environment of user 100. In addition, memory 550 may store information specific to user 100, such as image representations of known individuals, favorite products, personal items, and calendar or appointment information, etc. In some embodiments, processor 210 may determine, for example, which type of image data to store based on available storage space in memory 550. In another embodiment, processor 210 may extract information from the image data stored in memory 550.

As further shown in FIG. 5A, apparatus 110 includes mobile power source 520. The term “mobile power source” includes any device capable of providing electrical power, which can be easily carried by hand (e.g., mobile power source 520 may weigh less than a pound). The mobility of the power source enables user 100 to use apparatus 110 in a variety of situations. In some embodiments, mobile power source 520 may include one or more batteries (e.g., nickel-cadmium batteries, nickel-metal hydride batteries, and lithium-ion batteries) or any other type of electrical power supply. In other embodiments, mobile power source 520 may be rechargeable and contained within a casing that holds apparatus 110. In yet other embodiments, mobile power source 520 may include one or more energy harvesting devices for converting ambient energy into electrical energy (e.g., portable solar power units, human vibration units, etc.).

Mobile power source 510 may power one or more wireless transceivers (e.g., wireless transceiver 530 in FIG. 5A). The term “wireless transceiver” refers to any device configured to exchange transmissions over an air interface by use of radio frequency, infrared frequency, magnetic field, or electric field. Wireless transceiver 530 may use any known standard to transmit and/or receive data (e.g., Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, or ZigBee). In some embodiments, wireless transceiver 530 may transmit data (e.g., raw image data, processed image data, extracted information) from apparatus 110 to computing device 120 and/or server 250. Wireless transceiver 530 may also receive data from computing device 120 and/or server 205. In other embodiments, wireless transceiver 530 may transmit data and instructions to an external feedback outputting unit 230.

FIG. 5B is a block diagram illustrating the components of apparatus 110 according to another example embodiment. In some embodiments, apparatus 110 includes a first image sensor 220 a, a second image sensor 220 b, a memory 550, a first processor 210 a, a second processor 210 b, a feedback outputting unit 230, a wireless transceiver 530, a mobile power source 520, and a power connector 510. In the arrangement shown in FIG. 5B, each of the image sensors may provide images in a different image resolution, or face a different direction. Alternatively, each image sensor may be associated with a different camera (e.g., a wide angle camera, a narrow angle camera, an IR camera, etc.). In some embodiments, apparatus 110 can select which image sensor to use based on various factors. For example, processor 210 a may determine, based on available storage space in memory 550, to capture subsequent images in a certain resolution.

Apparatus 110 may operate in a first processing-mode and in a second processing-mode, such that the first processing-mode may consume less power than the second processing-mode. For example, in the first processing-mode, apparatus 110 may capture images and process the captured images to make real-time decisions based on an identifying hand-related trigger, for example. In the second processing-mode, apparatus 110 may extract information from stored images in memory 550 and delete images from memory 550. In some embodiments, mobile power source 520 may provide more than fifteen hours of processing in the first processing-mode and about three hours of processing in the second processing-mode. Accordingly, different processing-modes may allow mobile power source 520 to produce sufficient power for powering apparatus 110 for various time periods (e.g., more than two hours, more than four hours, more than ten hours, etc.).

In some embodiments, apparatus 110 may use first processor 210 a in the first processing-mode when powered by mobile power source 520, and second processor 210 b in the second processing-mode when powered by external power source 580 that is connectable via power connector 510. In other embodiments, apparatus 110 may determine, based on predefined conditions, which processors or which processing modes to use. Apparatus 110 may operate in the second processing-mode even when apparatus 110 is not powered by external power source 580. For example, apparatus 110 may determine that it should operate in the second processing-mode when apparatus 110 is not powered by external power source 580, if the available storage space in memory 550 for storing new image data is lower than a predefined threshold.

Although one wireless transceiver is depicted in FIG. 5B, apparatus 110 may include more than one wireless transceiver (e.g., two wireless transceivers). In an arrangement with more than one wireless transceiver, each of the wireless transceivers may use a different standard to transmit and/or receive data. In some embodiments, a first wireless transceiver may communicate with server 250 or computing device 120 using a cellular standard (e.g., LTE or GSM), and a second wireless transceiver may communicate with server 250 or computing device 120 using a short-range standard (e.g., Wi-Fi or Bluetooth®). In some embodiments, apparatus 110 may use the first wireless transceiver when the wearable apparatus is powered by a mobile power source included in the wearable apparatus, and use the second wireless transceiver when the wearable apparatus is powered by an external power source.

FIG. 5C is a block diagram illustrating the components of apparatus 110 according to another example embodiment including computing device 120. In this embodiment, apparatus 110 includes an image sensor 220, a memory 550 a, a first processor 210, a feedback-outputting unit 230, a wireless transceiver 530 a, a mobile power source 520, and a power connector 510. As further shown in FIG. 5C, computing device 120 includes a processor 540, a feedback-outputting unit 545, a memory 550 b, a wireless transceiver 530 b, and a display 260. One example of computing device 120 is a smartphone or tablet having a dedicated application installed therein. In other embodiments, computing device 120 may include any configuration such as an on-board automobile computing system, a PC, a laptop, and any other system consistent with the disclosed embodiments. In this example, user 100 may view feedback output in response to identification of a hand-related trigger on display 260. Additionally, user 100 may view other data (e.g., images, video dips, object information, schedule information, extracted information, etc.) on display 260. In addition, user 100 may communicate with server 250 via computing device 120.

In some embodiments, processor 210 and processor 540 are configured to extract information from captured image data. The term “extracting information” includes any process by which information associated with objects, individuals, locations 904, events, etc., is identified in the captured image data by any means known to those of ordinary skill in the art. In some embodiments, apparatus 110 may use the extracted information to send feedback or other real-time indications to feedback outputting unit 230 or to computing device 120. In some embodiments, processor 210 may identify in the image data the individual standing in front of user 100, and send computing device 120 the name of the individual and the last time user 100 met the individual. In another embodiment, processor 210 may identify in the image data, one or more visible triggers, including a hand-related trigger, and determine whether the trigger is associated with a person other than the user of the wearable apparatus to selectively determine whether to perform an action associated with the trigger. One such action may be to provide a feedback to user 100 via feedback-outputting unit 230 provided as part of (or in communication with) apparatus 110 or via a feedback unit 545 provided as part of computing device 120. For example, feedback-outputting unit 545 may be in communication with display 260 to cause the display 260 to visibly output information. In some embodiments, processor 210 may identify in the image data a hand-related trigger and send computing device 120 an indication of the trigger. Processor 540 may then process the received trigger information and provide an output via feedback outputting unit 545 or display 260 based on the hand-related trigger. In other embodiments, processor 540 may determine a hand-related trigger and provide suitable feedback similar to the above, based on image data received from apparatus 110. In some embodiments, processor 540 may provide instructions or other information, such as environmental information to apparatus 110 based on an identified hand-related trigger.

In some embodiments, processor 210 may identify other environmental information in the analyzed images, such as an individual standing in front user 100, and send computing device 120 information related to the analyzed information such as the name of the individual and the last time user 100 met the individual. In a different embodiment, processor 540 may extract statistical information from captured image data and forward the statistical information to server 250. For example, certain information regarding the types of items a user purchases, or the frequency a user patronizes a particular merchant, etc. may be determined by processor 540. Based on this information, server 250 may send computing device 120 coupons and discounts associated with the user's preferences.

When apparatus 110 is connected or wirelessly connected to computing device 120, apparatus 110 may transmit at least part of the image data stored in memory 550 a for storage in memory 550 b. In some embodiments, after computing device 120 confirms that transferring the part of image data was successful, processor 540 may delete the part of the image data. The term “delete” means that the image is marked as ‘deleted’ and other image data may be stored instead of it, but does not necessarily mean that the image data was physically removed from the memory.

As will be appreciated by a person skilled in the art having the benefit of this disclosure, numerous variations and/or modifications may be made to the disclosed embodiments. Not all components are essential for the operation of apparatus 110. Any component may be located in any appropriate apparatus and the components may be rearranged into a variety of configurations while providing the functionality of the disclosed embodiments. Therefore, the foregoing configurations are examples and, regardless of the configurations discussed above, apparatus 110 can capture, store, and process images.

Further, the foregoing and following description refers to storing and/or processing images or image data. In the embodiments disclosed herein, the stored and/or processed images or image data may comprise a representation of one or more images captured by image sensor 220. As the term is used herein, a “representation” of an image (or image data) may include an entire image or a portion of an image. A representation of an image (or image data) may have the same resolution or a lower resolution as the image (or image data), and/or a representation of an image (or image data) may be altered in some respect (e.g., be compressed, have a lower resolution, have one or more colors that are altered, etc.).

For example, apparatus 110 may capture an image and store a representation of the image that is compressed as a .JPG file. As another example, apparatus 110 may capture an image in color, but store a black-and-white representation of the color image. As yet another example, apparatus 110 may capture an image and store a different representation of the image (e.g., a portion of the image). For example, apparatus 110 may store a portion of an image that includes a face of a person who appears in the image, but that does not substantially include the environment surrounding the person. Similarly, apparatus 110 may, for example, store a portion of an image that includes a product that appears in the image, but does not substantially include the environment surrounding the product. As yet another example, apparatus 110 may store a representation of an image at a reduced resolution (i.e., at a resolution that is of a lower value than that of the captured image). Storing representations of images may allow apparatus 110 to save storage space in memory 550. Furthermore, processing representations of images may allow apparatus 110 to improve processing efficiency and/or help to preserve battery life.

In addition to the above, in some embodiments, any one of apparatus 110 or computing device 120, via processor 210 or 540, may further process the captured image data to provide additional functionality to recognize objects and/or gestures and/or other information in the captured image data. In some embodiments, actions may be taken based on the identified objects, gestures, or other information. In some embodiments, processor 210 or 540 may identify in the image data, one or more visible triggers, including a hand-related trigger, and determine whether the trigger is associated with a person other than the user to determine whether to perform an action associated with the trigger.

In some embodiments, server 250 may be programmed to provide advertisements to a user of a wearable camera system based on objects, products, people, and locations identified within captured images. A wearable camera system may include a wearable imaging apparatus 110 and a computing device 120, which may or may not be integral with wearable imaging apparatus. For example, a user spending time on a beach may receive advertisements for bathing suits or sunscreen, a user spending time in a particular area of a city may receive advertisements for local businesses, a user that interacts with certain consumer products may receive advertisements for similar or complementary products. Selected advertisements may be delivered to a device of a user of the wearable camera system, and may be displayed to the user in several ways. A device to which advertisements are delivered may or may not be part of the wearable camera system. For example, advertisements may be delivered to a device such as a smartphone, tablet, pc, laptop, etc., of the user that is not part of or in direct communication with the wearable camera system. In other embodiments, advertisements may be delivered to the wearable camera system itself, for example to a computing device integral with or in direct communication with wearable apparatus 110. Where a wearable camera system includes a device with a display screen, advertisements may be delivered to the screen in audio, visual, or textual form. In embodiments where no screen is included, advertisements may be delivered to the user in an audio form. In embodiments including glasses 130, which may include an integral display screen, advertisements may be delivered directly to a lens display screen of the glasses 130. In other embodiments, advertisements may be delivered for display to a device (e.g., a smartphone, tablet, etc.) in communication with the user's wearable system.

In some embodiments, server 250 may be programmed to provide advertisements to a user of a wearable camera system based on bids received from advertisers. Server 250 may analyze images captured by the wearable camera system to detect characteristics of the images and then transmit these images to advertisers. Server 250 may then receive bids from the advertisers representing amounts of money to be paid for transmitting selected advertisements to the user of the wearable camera system. For example, when a user spends time in a particular area of a city, local businesses may provide competing bids to transmit an advertisement of their selection to the user. When a user interacts with specific consumer products, manufacturers of similar products may provide competing bids to transmit advertisements to the user's wearable system. The following description provides additional details regarding methods and systems for providing advertisements based on captured images.

In some embodiments, providing advertisements based on captured images may be implemented using one or more appropriate processing devices in conjunction with one or more memories storing executable instructions. The processing devices and memories may be collocated or may be distributed. The following description relates to the provision of advertisements using server 250. It will be recognized that, in some embodiments, the functions of server 250 described herein may be carried out by appropriate hardware included in apparatus 110 or computing device 120 of a wearable computing system. Executable software instructions, when executed by a processor of server 250, may perform various functions related to the provision of advertisements.

FIG. 6 is a block diagram illustrating a memory 600 according to the disclosed embodiments. The memory may include one or more modules, or sets of instructions, for performing methods consistent with the disclosed embodiments. For example, a memory may include instructions for a processor to provide advertisements. In the example shown in FIG. 6, memory 600 comprises an image reception module 601, an image analysis module 602, an advertisement selection module 603, a transmission module 604, and one or more databases 605 for performing the functionality of the disclosed methods. The modules shown in FIG. 6 are by example only, and a processor in the disclosed embodiments may operate according to any suitable process.

Image reception module 601 may include software instructions for receiving data from a wearable camera system. Data received from a wearable camera system may include raw images and may include image data that has been processed. Raw images may be provided, for example, in the form of still images and video data. In some embodiments, received data may include data related to at least one characteristic identified in image data captured by a wearable camera system from an environment of a user. In some embodiments, images may be processed by the camera system to identify characteristics.

Image analysis module 602 may include software instructions for analyzing image data received from a wearable camera system. Analyzing image data may include identifying at least one characteristic in the environment of a user from image data captured by a wearable camera system. Characteristics in a user's environment that may be identified by image analysis module 602 may include, for example, objects in the environment of the user, persons in the environment of the user, products in the environment of the user, and a location of the user. Identified characteristics are discussed in greater detail below with respect to FIG. 9.

Advertisement selection module 603 may be configured to execute software instructions to select an advertisement based on at least one characteristic extracted from image data received from a wearable camera system. In further embodiments, advertisement selection module 603 may be configured to execute software instructions to select an advertisement based on one from among a plurality of bids received from a plurality of advertisers. Advertisers may, for example, provide bids to advertisement selection module based on data related to characteristics identified in the image data. For example, where a particular type of consumer product is identified as an image characteristic, e.g., sneakers, advertisers may submit competing bids for sneaker advertisements.

Transmission module 604 may include software instructions for transmitting an advertisement to a device of the user of the wearable camera system. An advertisement may be transmitted to a user's device or to the wearable camera system itself, for example, via a wireless transceiver. When an advertisement has been selected, it may be transmitted to a user's device viewing by the user. The advertisement may be transmitted to a device including a display screen that is separate from the wearable camera system or to a device that is a part of the wearable camera system. For example, a wearable camera system may include a necklace unit including a camera and a computing device such as a smartphone or tablet that communicates with the necklace. The smartphone and/or tablet may receive and display the advertisement.

Database 605 may contain data related to image analysis and characteristic identification, advertisements, and/or any other data that may be used by modules 601-604. For example, database 605 may store data of images or frames captured by a wearable camera system to be analyzed by image analysis module 602. Database 605 may store recognized characteristics of images generated by image analysis module 602. Database 605 may store advertisement data to be presented to the user through transmission module 604. Database 605 may store bid data related to the advertisement data. Other forms of data related to the functions performed by modules 601, 602, 603, and 604, including transitional or temporary data, may also be stored in database 605.

In some embodiments, database 605 may be located remotely from memory 600, and be accessible via one or more wireless or wired connections. While one database is shown, it should be understood that several separate and/or interconnected databases may make up database 605, for example, where cloud architecture is used for storage. Database 605 may include computing components (e.g., database management system, database server, etc.) configured to receive and process requests for data stored in memory devices associated with database 605 and to provide data from database 605.

Image reception module 601, image analysis module 602, advertisement selection module 603, and transmission module 604 may be implemented in software, hardware, firmware, a mix of any of those, or the like. For example, if the modules are implemented in software, they may be stored in memory 600, as shown in FIG. 6. Memory 600 may, for example, be located on server 250, which may include one or more processing devices. Processing devices of server 250 may be configured to execute the instructions of modules 601-604. In some embodiments, aspects of image reception module 601, image analysis module 602, advertisement selection module 603, and transmission module 604 may include software, hardware, or firmware instructions (or a combination thereof) executable by one or more processors, alone or in various combinations with each other. For example, image reception module 601, image analysis module 602, advertisement selection module 603, and transmission module 604 may be configured to interact with each other and/or other modules of server 250 and/or a wearable camera system to perform functions consistent with disclosed embodiments. In some embodiments, any of the disclosed modules (e.g., image reception module 601, image analysis module 602, advertisement selection module 603, and transmission module 604) may each include dedicated sensors (e.g., IR, image sensors, etc.) and/or dedicated application processing devices to perform the functionality associated with each module.

FIG. 7 illustrates an exemplary flowchart of a method for providing advertisements, consistent with the disclosure. The method of FIG. 7 may, for example, be carried out by various aspects of the system illustrated in FIG. 8. FIG. 8 illustrates one exemplary embodiment of a system consistent with the present disclosure. The following description makes use of FIG. 8 for exemplary purposes only, as systems consistent with the present disclosure may use different devices and/or different communication pathways.

As illustrated, e.g., in FIG. 8, apparatus 110 and computing device 120 may be included in a wearable camera system 170. Apparatus 110 and computing device 120 may be in communication via data link 801, which may be a wireless or wired connection. Apparatus 110 may include a wearable camera or image sensor configured to be worn on an exterior of clothing of user 100. Server 250 may be in communication with wearable camera system 170 in direct fashion or through a network 240 such as the Internet. Various aspects of the system and methods described herein may be performed on any of apparatus 110, computing device 120, or server 250 without departing from this disclosure. The following description provides non-limiting examples of how and with which aspect of the system various processes and steps of this disclosure may be performed. It is contemplated that a person of skill in the art will recognize ways in which the various processes and steps described herein may be performed on or with different devices disclosed herein, and/or performed on or with additional or alternative suitable devices.

In the exemplary embodiment illustrated in FIG. 8, the steps of advertisement selection method 700 may be executed by at least one processing device 810 included in server 250, executing software modules 601-604 stored on a non-transient, non-volatile, memory unit, such as memory 600. In some embodiments, the at least one processing device and the memory may also be associated with, for example, computing device 120 and/or apparatus 110. In even further embodiments, the at least one processing device and memory may be associated with a computing system exercising a distributed cloud based architecture.

In step 701, at least one processing device 810, configured with software instructions to execute image reception module 601, may receive data from a wearable camera system (e.g., wearable camera system 170). This data transfer is illustrated in FIG. 8 by data transfer 802. Data received at step 701 may include image data such as, for example, an image or series of images captured by a wearable camera system 170. A user may configure wearable camera system 170 to continuously capture images at various rates, for example, at multiple frames per second (e.g., 24, 60, 120, etc.) to capture video, and/or at lower rates, for example one frame every few seconds. Image reception module 601 may receive images at any frame rate captured by wearable camera system 170, whether in the form of low frame rate still images or high frame rate video images. Data received at step 701 may also include, in some embodiments, data or information related to at least one characteristic identified in image data captured by the wearable camera system.

In step 702, image analysis module 602 may analyze the image or images received by image reception module 601 to identify at least one characteristic in the image data. Image analysis module 602 may be implemented by at least one processing device 810. After one or more characteristics are identified from the image data, data or information related to the characteristics may be generated. FIG. 9 illustrates exemplary characteristics of a user environment that may be identified from image data. For example, as illustrated in FIG. 9, characteristics in a user's environment that may be identified by image analysis module 602 may include, for example, objects 901 in the environment of the user, persons 902 in the environment of the user, products 903 in the environment of the user, and a location 904 of the user. Image analysis module 602 may generate data or information related to these characteristics, such as the identity of the objects, products, and people in the environment of the user, or data related to a location of the user.

For example, image analysis module 602 may identify objects 901 in the environment of the user. Identified objects may include aspects of a user's environment such as landscape features (trees, bushes, etc.), buildings, furniture, vehicles, signs, and other items that a user may encounter. Image analysis module may 602 may determine the identity of one or more persons 902 in the environment of the user. Identified persons 902 may be identified generically, e.g., a police officer, or specifically, e.g. by name. Image analysis module 602 may identify products 903, such as consumer products in the environment of the user. Identified products 903 may be identified generically, for example, a camera, a book, or a pair of sneakers. Identified products 903 may also be identified by particular brands, for example, a specific brand of camera or a specific brand of sneaker. Image analysis module may identify a location of a user based on image data. Identified locations 904 may be generic, e.g., a kitchen, a park, or a beach, or specific, e.g., a specific address or place of business. Location identities may be determined based on cues within the image data and/or based on location data, such as GPS data, that an image may be tagged with. Thus, image analysis module 602 may analyze image data to identify certain products 903 or objects 901, certain people, and certain locations 904 for a user. For example, image analysis module may identify within the environment of a user particular cooking implements, such as appliances in a kitchen. Determined identities of objects 901, persons 902, and objects 903 may be included in data or information related to the identified characteristics. Determined locations 904 of a user may be included in data or information related to the identified characteristics.

Image analysis module 602 may be further programmed to determine a frequency at which various characteristics appear within the environment of the user. Thus, image analysis module may determine how frequently a user is in a kitchen or a bedroom, and/or may determine how frequently various products 903, objects 901, and people, both generic and specific, appear in a user's environment. The determined frequency may be included in data or information related to the identified characteristics.

In some embodiments, image analysis module 602 may analyze image data to obtain life log characteristics. Life log characteristics may include, for example, image recordings of a user's daily recreational and business activities and/or social interactions. Thus, data related to at least one characteristic identified in the image data may include data obtained from a life log of the user.

In some embodiments consistent with the present disclosure, all or some of the above described analysis processes of image analysis module 602 may be carried out via hardware, software, and/or firmware associated with wearable camera system 170. For example, computing device 120 may perform the above described image analysis and transmit data related to identified characteristics via image transfer 802. Thus, image reception module 601, in addition to receiving image data from wearable camera system 170, may also receive, at step 701 data related to at least one characteristic identified in image data captured by wearable camera system 170 from an environment of a user. In such embodiments, it may be possible to skip from data reception step 701 directly to advertisement selection step 705.

Returning now to FIG. 7, after image analysis is performed at step 702, advertisement selection module 603 may perform step 705 to select an advertisement an advertisement based on at least one characteristic or data related to at least one characteristic identified by image analysis module 602. Advertisement selection may be performed as follows.

Advertisements may be selected based on at least one characteristic identified in the environment of the user. For example, image analysis module 602 may identify a location characteristic of the user, such as identifying that a user is in a certain neighborhood of a city. Advertisements related to that neighborhood, for example, an advertisement for a local eatery or shop may then be provided to the user. In another example, image analysis module 602 may identify a product characteristic in the environment of the user. Advertisements for similar or complementary products may then be selected for transmission to the user.

In some embodiments, advertisements may be selected and transmitted in direct response to characteristics identified in a user's environment. For example, when image analysis module 602 identifies a certain characteristic in an environment of the user, advertisement selection module 603 may be triggered to select an advertisement based on the data or information related to the identified characteristic. Thus, a certain characteristic may trigger the selection of advertisements. For example, identifying a soft drink in a user's environment may trigger an advertisement for soft drinks. In another example, a complementary product may be advertised, e.g., identifying cookies in a user's environment may trigger an advertisement for milk. In alternative embodiments, advertisements may be selected on a periodic basis, and advertisement selection module 603 may select the advertisement based on a recent or aggregate history of characteristics identified in image data.

In some embodiments, advertisement content may be stored locally and transmitted to a user. For example, memory 600 may store a plurality of advertisements to be transmitted to a user when and if advertisement selection module 603 selects them. In such an embodiment, server 250 may communicate with advertisers 850 to periodically update the local database of advertisements and to provide information about which advertisements have been selected. In alternative embodiments, local storage may include only basic information about an advertisement to enable advertisement selection module 603 to make a selection. After a selection is made, advertisement selection module 603 may then notify advertisers 850 of the selection and receive advertisement content from advertisers 850.

In some embodiments, advertisement selection module 603 may further execute instructions to select an advertisement based on demographic information of the user. Factors such as age, sex, income, residential information, career information, etc., may be included in demographic information of the user. Demographic information of the user may further include any and all factors used in traditional advertisements to target specific audiences.

Advertisements may include at least one of text, image or images, audio, and video. Advertisements may include, for example, product descriptions, discount offers, coupons, free samples, and any other form of advertisement.

Returning now to FIG. 7, advertisements may be transmitted to a device of the user of wearable camera system 170 at step 706, using transmission module 604. Transmission of advertisements to a user device is illustrated in FIG. 8 by data transfer 805. The selected advertisement may include at least one of text, image or images, audio, and video. The user device may include a smartphone, tablet, laptop, PC, on-board vehicle computer, and any other device capable of receiving advertisements and providing them to a user. In embodiments including a device with a display screen, any or all of these advertisement formats may be selected and transmitted. In some embodiments, a user may designate a particular device for receiving advertisements. For example, in some embodiments, a user may associate a smartphone or tablet device with the wearable camera system 170, and this device may receive and display the selected advertisements. Advertisements may be received, for example, via text message and/or via push notifications through an application installed on the tablet or smartphone. In other embodiments, a display screen may be incorporated directly into the wearable camera system 170 such as, for example, in the lens of glasses or in a screen on a watch or necklace device. In still other embodiments, no display screen may be associated with the wearable camera system 170 In such embodiments, advertisements may be delivered to a user via a speaker in audio format. In still other embodiments, advertisements may be transmitted in any other medium receivable by the user, for example, via e-mail or voice-mail, for later acquisition by the user.

In another embodiment consistent with the present disclosure, advertisements may be selected based on bidding by advertisers. An exemplary method of selecting advertisements according to advertisers' bids is illustrated in FIG. 10. The method of FIG. 10 may, for example, be carried out by various aspects of the system illustrated in FIG. 8. The following description makes use of FIG. 8 for exemplary purposes only, as systems consistent with the present disclosure may use different devices and/or different communication pathways. In the exemplary embodiment illustrated in FIG. 8, the steps of advertisement bidding method 1000 may be executed by at least one processing device 810 included in server 250, executing software modules 601-604 stored on a non-transient, non-volatile, memory unit, such as memory 600.

Data reception step 1001 may proceed similarly to step 701 of advertisement selection method 700. In step 1001, at least one processing device 810, configured with software instructions to execute image reception module 601, may receive, from wearable camera system 1100, data. Data received at step 1001 may include an image or series of images captured by a wearable camera system 1100. This data transfer is illustrated in FIG. 8 by image transfer 802. A user may configure wearable camera system 1100 to continuously capture images at various rates, for example, at multiple frames per second (e.g., 24, 60, 120, etc.) to capture video, and/or at lower rates, for example one frame every few seconds. Image reception module 601 may receive images at any frame rate captured by wearable camera system 1100, whether in the form of low frame rate still images or high frame rate video images.

In some embodiments, data received at step 1001 may include data or information related to characteristics identified in image data. This may occur, for example, in embodiments where image data is analyzed by systems of wearable camera system 170. In such embodiments, advertisement bidding method 1000 may bypass image analysis step 1002 and skip directly to data transmission step 1003.

In image analysis step 1002, similarly to step 702 of advertisement selection method 700, image analysis module 602 may analyze the image or images received by image reception module 601 to identify at least one characteristic in the image data. Image analysis module 602 may be implemented by at least one image reception module 810. After one or more characteristics are identified from the image data, data or information related to the characteristics may be generated. At step 1002, image analysis module 602 may be configured to recognize the same types of image characteristics as discussed above with respect to image analysis step 702.

After image analysis is performed at step 1002, advertisement selection module 603 may perform steps 1003, 1004 and 1005 to select an advertisement based on a plurality of advertisement bids received from advertisers. Advertisement bid selection may be performed as follows.

Based on data or information indicative of characteristics identified in an image, the plurality of advertisers may provide advertisement bids. At step 1003, bids for providing one or more advertisements to wearable camera system 1100 may be received from the plurality of advertisers 850. Transfer of bid data is illustrated in FIG. 8 by bid data transfer 804. In some embodiments, bid data may include advertisement content. In alternate embodiments, advertisement content may be pre-stored in database 605 of server 250, or may be retrieved by server 250 from remote storage, such as a server located database or cloud storage. For example, bid data may include a pointer to a location where advertisement data is stored rather than the advertisement data itself. In this fashion, it is not necessary to transfer data related to advertisements that may not be selected. In some embodiments, advertisers may receive data from the at least one processing device. At least a portion of the data or information related to the at least one characteristic may be transmitted to a plurality of advertisers by advertisement selection module 603. In some embodiments, all of the data or information related to the at least one characteristic may be transmitted. This data transfer is illustrated in FIG. 8 by image characteristic data transfer 803.

In some embodiments, step 1003 may not occur in direct sequence between steps 1002 and 1004. For example, advertisement and bid data may be received from advertisers and stored in database 605 in advance of any user action that may trigger the selection of advertisements. For example, advertisers may periodically send information for updating database 605 with new advertisement and bid data, for example, once a day, once a month, or more or less frequently. Advertisers may base their bids on characteristic data received from an individual user. For example, server 250 may transmit aggregate characteristic data to advertisers on a periodic basis, for example once a day, once a week, or once a month. Such characteristic data may include information about objects 901, people 902, products 903, and locations 904 with which the user has interacted over the course of the week. Advertisers 850 may use the aggregate data to determine bids and advertisement to transfer to server 250 at any time. Thus, server 250 may store a database of bids and advertisements that may be periodically updated by advertisers based on the periodic transmissions of characteristic data. In other embodiments, advertisers may base their bids on aggregate data obtained from many users. In some embodiments, advertisers may base bids on other factors, such as internal market research.

In further embodiments, the transfer of bid data to server 250 in step 1004 may occur in direct response to identified image characteristic data that has been transferred to advertisers. Advertisers 850 may receive image characteristic data and, in response, generate a bid and transfer the bid to server 250.

At step 1004, advertisement selection module 603 may select one or more advertisements based on one or more received bids. Bids received from the advertisers may include offers to pay specified amounts for serving advertisements to the user. In some embodiments, advertisers may base their bids on data related to characteristics identified in the environment of the user. For example, image analysis module 602 may identify a location characteristic of the user, identifying that a user is in a certain neighborhood of a city. Advertisers of local businesses may bid in competition with one another to provide an advertisement to the user, for example, an advertisement or a discount coupon for a local eatery. In another example, image analysis module 602 may identify a product characteristic in the environment of the user. Advertisers may bid in competition with one another to provide advertisements for similar or complementary products to the user.

In some embodiments, bids may be received from advertisers in response to characteristics identified in a user's environment. For example, when image analysis module 602 identifies a certain characteristic in an environment of the user, advertisement selection module may receive bids from advertisers in response to data or information related to the identified characteristic. Thus, a certain characteristic may trigger the receipt of bids from advertisers.

In some embodiments, bids may be received from advertisers in advance of characteristic identification. Such bids may be stored in a local memory, e.g., memory 600, and acted upon when image analysis module 602 provides data or information related to the characteristic to the advertisement selection module 603. For example, an advertiser may provide a bid offering to pay a specified amount when a triggering characteristic is identified in an environment of the user. The bid, and advertisement material related to the bid, may be stored on a local memory. When a user makes encounters or interacts with the triggering characteristic, it may trigger the stored bid and lead the advertisement selection module to select the associate advertisement.

In some embodiments, advertisement selection module may receive bids including offers to pay an amount for serving an advertisement to a user after a user purchases a specific product. Such bids may, for example, be received by advertisement selection module 603 from advertisers soon after the purchase. Such bids may also be stored in a local memory, as described above. For example, an advertiser may provide a bid offering to pay a specified amount when a user makes a specific purchase in the future. The bid, and advertisement material related to the bid, may be stored on a local memory. When a user makes a specific purchase, it may trigger the stored bid.

In some embodiments, advertisement selection module 603 may be further programmed to select the advertisement based on a highest one of the bids received. Additional factors may also be used by advertisement selection module 603 to select the advertisement. Such additional factors may include, for example, selection based on a total number of advertisements an advertiser has bid for. For example, an advertiser that agrees to pay a lower price for a larger number of advertisements may win the bidding to transmit an ad to a user. In some embodiments, bids may be complex, representing more than just an amount of money to be paid for transmitting a single advertisement. For example, an advertiser's bid may include multiple levels of compensation, depending on whether a user follows the advertisement or purchases a product. Advertisement selection module 603 may select an advertisement based on any feature of a bid.

In some embodiments, advertisement selection module 603 advertisement bids may be based on demographic information of the user. Factors such as age, sex, income, residential information, career information, etc., may be included in demographic information of the user. Demographic information of the user may further include any and all factors used in traditional advertisements to target specific audiences. Demographic user information may be gathered based on identified image characteristics, user input, and any other available means to identify demographic user information.

After advertisement selection at step 1004, advertisement transmission step 1005 may be carried out by transmission module 604. A selected advertisement may be transmitted to the device of a user of wearable camera system 170. Transmission of advertisements to a user device is illustrated in FIG. 8 by data transfer 805. The selected advertisement may include at least one of text, image or images, audio, and video. The user device may include a smartphone, tablet, laptop, PC, on-board vehicle computer, and any other device capable of receiving advertisements and providing them to a user. In embodiments including a device with a display screen, any or all of these advertisement formats may be selected and transmitted. In some embodiments, a user may designate a particular device for receiving advertisements. For example, in some embodiments, a user may associate a smartphone or tablet device with the wearable camera system 170, and this device may receive and display the selected advertisements. Advertisements may be received, for example, via text message and/or via push notifications through an application installed on the tablet or smartphone. In other embodiments, a display screen may be incorporated directly into the wearable camera system 170 such as, for example, in the lens of glasses or in a screen on a watch or necklace device. In still other embodiments, no display screen may be associated with the wearable camera system 170. In such embodiments, advertisements may be delivered to a user via a speaker in audio format. In still other embodiments, advertisements may be transmitted in any other medium receivable by the user, for example, via e-mail or voice-mail, for later acquisition by the user.

The foregoing description has been presented for purposes of illustration. It is not exhaustive and is not limited to the precise forms or embodiments disclosed. Modifications and adaptations will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed embodiments. Additionally, although aspects of the disclosed embodiments are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer readable media, such as secondary storage devices, for example, hard disks or CD ROM, or other forms of RAM or ROM, USB media, DVD, Blu-ray, or other optical drive media.

Computer programs based on the written description and disclosed methods are within the skill of an experienced developer. The various programs or program modules can be created using any of the techniques known to one skilled in the art or can be designed in connection with existing software. For example, program sections or program modules can be designed in or by means of .Net Framework, .Net Compact Framework (and related languages, such as Visual Basic, C, etc.), Java, C++, Objective-C, HTML, HTML/AJAX combinations, XML, or HTML with included Java applets.

Moreover, while illustrative embodiments have been described herein, the scope of any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., of aspects across various embodiments), adaptations and/or alterations as would be appreciated by those skilled in the art based on the present disclosure. The limitations in the claims are to be interpreted broadly based on the language employed in the claims and not limited to examples described in the present specification or during the prosecution of the application. The examples are to be construed as non-exclusive. Furthermore, the steps of the disclosed methods may be modified in any manner, including by reordering steps and/or inserting or deleting steps. It is intended, therefore, that the specification and examples be considered as illustrative only, with a true scope and spirit being indicated by the following claims and their full scope of equivalents. 

What is claimed is:
 1. A system for providing advertisements, the system comprising: a memory storing executable instructions; and at least one processing device programmed to execute the instructions to: receive, from a wearable camera system, data related to at least one characteristic identified in image data captured by the wearable camera system from an environment; select, based on the at least one characteristic, an advertisement; and transmit the advertisement to a device associated with a user of the wearable camera system.
 2. The system of claim 1, wherein the data related to the at least one characteristic identified in the image data includes data obtained from a life log of the user.
 3. The system of claim 1, wherein the data related to the at least one characteristic includes at least one of an identity of an object in the environment of the user, an identity of a person in the environment of the user, an identity of a product in the environment of the user, and a location of the user.
 4. The system of claim 1, wherein the at least one processing device is further programmed to determine a frequency that the at least one characteristic has appeared in the environment of the user.
 5. The system of claim 4, wherein the at least one processing device is further programmed to select the advertisement based on the frequency that the at least one characteristic has appeared in the environment of the user.
 6. The system of claim 1, wherein the at least one processing device is further programmed to select the advertisement based on demographic information of the user.
 7. The system of claim 1, wherein the advertisement includes at least one of a text, an image, audio, and a video for display on a device associated with the wearable camera system.
 8. The system of claim 8, wherein the device associated with the wearable camera system includes at least one of a smartphone and a tablet.
 9. The system of claim 1, wherein the wearable camera system includes a wearable image sensor configured to be worn on an exterior of clothing of the user.
 10. A system for providing advertisements, the system comprising: a memory storing executable instructions; and at least one processing device programmed to execute the instructions to: receive, from a wearable camera system, image data captured by the wearable camera system from an environment analyze the image data to identify at least one characteristic of the environment; select, based on the at least one characteristic, an advertisement; and transmit the advertisement to a device associated with a user of the wearable camera system.
 11. The system of claim 10, wherein the at least one characteristic includes at least one of: an identity of an object in the environment of the user, an identity of a person in the environment of the user, an identity of a product in the environment of the user, and a location of the user.
 12. The system of claim 10, wherein the at least one processing device is further programmed to determine a frequency that the at least one characteristic has appeared in the environment of the user.
 13. The system of claim 12, wherein the at least one processing device is further programmed to select the advertisement based on the frequency that the at least one characteristic has appeared in the environment of the user.
 14. A system for providing advertisements, the system comprising: a memory storing executable instructions; and at least one processing device programmed to execute the instructions to: receive, from a wearable camera system, information indicative of at least one characteristic identified in image data captured by the wearable camera system from an environment; receive, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system based on at least a portion of the information indicative of the at least one characteristic; select an advertisement based on at least one of bids; and send the advertisement to a device associated with a user of the wearable camera system.
 15. The system of claim 14, wherein the information indicative of the at least one characteristic includes at least one of: an identity of an object in the environment of the user, an identity of a person in the environment of the user, an identity of a product in the environment of the user, and a location of the user.
 16. The system of claim 14, wherein each of the bids includes an offer to pay an amount for serving an advertisement to the user.
 17. The system of claim 14, wherein each of the bids includes an offer to pay an amount for serving an advertisement to the user after the user purchases a specified product.
 18. The system of claim 14, wherein at least one processing device is further programmed to select the advertisement based on a highest one of the bids.
 19. The system of claim 14, wherein at least one processing device is further programmed to select the advertisement based on demographic information of the user.
 20. The system of claim 14, wherein at least one processing device is further programmed to select the advertisement from a plurality of advertisements associated with the advertiser that submitted a highest one of the bids.
 21. A system for providing advertisements, the system comprising: a memory storing executable instructions; and at least one processing device programmed to execute the instructions to: receive, from a wearable camera system, image data captured by the wearable camera system from an environment analyze the image data to identify at least one characteristic; receive, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system based on information indicative of the at least one characteristic; select an advertisement based on one of bids; and send the advertisement to a device associated with a user of the wearable camera system.
 22. The system of claim 21, wherein the information indicative of the at least one characteristic includes at least one of: an identity of an object in the environment of the user, an identity of a person in the environment of the user, an identity of a product in the environment of the user, and a location of the user.
 23. The system of claim 21, wherein at least one processing device is further programmed to select the advertisement based on a highest one of the bids.
 24. The system of claim 21, wherein at least one processing device is further programmed to select the advertisement based on demographic information of the user.
 25. The system of claim 21, wherein at least one processing device is further programmed to select the advertisement from a plurality of advertisements associated with the advertiser that submitted a highest one of the bids.
 26. A software product stored on a non-transitory computer readable medium and comprising data and computer readable implementable instructions for carrying out executable steps, the steps including: receiving, from a wearable camera system, data related to at least one characteristic identified in image data captured by the wearable camera system from an environment; selecting, based on the at least one characteristic, an advertisement; and transmitting the advertisement to a device associated with a user of the wearable camera system.
 27. A software product stored on a non-transitory computer readable medium and comprising data and computer readable implementable instructions for carrying out executable steps, the steps including: receiving, from a wearable camera system, information indicative of at least one characteristic identified in image data captured by the wearable camera system from an environment; receiving, from the plurality of advertisers, bids for providing one or more advertisements to the wearable camera system based on at least a portion of the information indicative of the at least one characteristic; selecting an advertisement based on at least one of bids; and sending the advertisement to a device associated with a user of the wearable camera system. 